#pragma once

#include <iostream>

template<typename list>
void list_output()
{
   std::cout << list::head_ << " ";
   list_output<typename list::tail_>();
}

template<>
void list_output<empty_list_t>()
{
   std::cout << "\n";
}